<?xml version="1.0" encoding="utf-8"?>
<s:schema xmlns:tns="http://www.ncbi.nlm.nih.gov/soap/eutils/elink" elementFormDefault="qualified" targetNamespace="http://www.ncbi.nlm.nih.gov/soap/eutils/elink" xmlns:s="http://www.w3.org/2001/XMLSchema">
  <s:element name="Attribute" type="s:string" />
  <s:element name="DbFrom" type="s:string" />
  <s:element name="DbTo" type="s:string" />
  <s:element name="ERROR" type="s:string" />
  <s:element name="IconUrl" type="s:string" />
  <s:element name="Info" type="s:string" />
  <s:element name="LinkName" type="s:string" />
  <s:element name="Name" type="s:string" />
  <s:element name="NameAbbr" type="s:string" />
  <s:element name="Score" type="s:string" />
  <s:element name="SubjectType" type="s:string" />
  <s:element name="Url" type="s:string" />
  <s:element name="MenuTag" type="s:string" />
  <s:complexType name="IdType">
    <s:simpleContent>
      <s:extension base="s:string">
        <s:attribute name="HasLinkOut">
          <s:simpleType>
            <s:restriction base="s:NMTOKEN">
              <s:enumeration value="Y" />
              <s:enumeration value="N" />
            </s:restriction>
          </s:simpleType>
        </s:attribute>
        <s:attribute name="HasNeighbor">
          <s:simpleType>
            <s:restriction base="s:NMTOKEN">
              <s:enumeration value="Y" />
              <s:enumeration value="N" />
            </s:restriction>
          </s:simpleType>
        </s:attribute>
      </s:extension>
    </s:simpleContent>
  </s:complexType>
  <s:complexType name="IdCheckListType">
    <s:sequence>
      <s:choice minOccurs="0" maxOccurs="unbounded">
        <s:element name="Id" type="tns:IdType" />
        <s:element name="IdLinkSet" type="tns:IdLinkSetType" />
      </s:choice>
      <s:element minOccurs="0" ref="tns:ERROR" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="IdLinkSetType">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="LinkInfo" type="tns:LinkInfoType" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="IdListType">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="Id" type="tns:IdType" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="IdUrlListType">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="IdUrlSet" type="tns:IdUrlSetType" />
      <s:element minOccurs="0" ref="tns:ERROR" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="IdUrlSetType">
    <s:sequence>
      <s:element name="Id" type="tns:IdType" />
      <s:choice>
        <s:element maxOccurs="unbounded" name="ObjUrl" type="tns:ObjUrlType" />
        <s:element ref="tns:Info" />
      </s:choice>
    </s:sequence>
  </s:complexType>
  <s:complexType name="LinkType">
    <s:sequence>
      <s:element name="Id" type="tns:IdType" />
      <s:element minOccurs="0" ref="tns:Score" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="LinkInfoType">
    <s:sequence>
      <s:element ref="tns:DbTo" />
      <s:element ref="tns:LinkName" />
      <s:element ref="tns:MenuTag" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="LinkSetType">
    <s:sequence>
      <s:element ref="tns:DbFrom" />
      <s:element minOccurs="0" ref="tns:ERROR" />
      <s:element minOccurs="0" name="IdList" type="tns:IdListType" />
      <s:element minOccurs="0" maxOccurs="unbounded" name="LinkSetDb" type="tns:LinkSetDbType" />
      <s:element minOccurs="0" name="IdUrlList" type="tns:IdUrlListType" />
      <s:element minOccurs="0" name="IdCheckList" type="tns:IdCheckListType" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="LinkSetDbType">
    <s:sequence>
      <s:element ref="tns:DbTo" />
      <s:element ref="tns:LinkName" />
      <s:choice>
        <s:element minOccurs="0" maxOccurs="unbounded" name="Link" type="tns:LinkType" />
        <s:element ref="tns:Info" />
      </s:choice>
      <s:element minOccurs="0" ref="tns:ERROR" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="ObjUrlType">
    <s:sequence>
      <s:element ref="tns:Url" />
      <s:element minOccurs="0" ref="tns:IconUrl" />
      <s:element minOccurs="0" ref="tns:LinkName" />
      <s:element minOccurs="0" maxOccurs="unbounded" ref="tns:SubjectType" />
      <s:element minOccurs="0" maxOccurs="unbounded" ref="tns:Attribute" />
      <s:element name="Provider" type="tns:ProviderType" />
    </s:sequence>
  </s:complexType>
  <s:complexType name="ProviderType">
    <s:sequence>
      <s:element ref="tns:Name" />
      <s:element ref="tns:NameAbbr" />
      <s:element name="Id" type="tns:IdType" />
      <s:element ref="tns:Url" />
      <s:element minOccurs="0" ref="tns:IconUrl" />
    </s:sequence>
  </s:complexType>
  <s:element name="eLinkResult">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" ref="tns:ERROR" />
        <s:element minOccurs="0" maxOccurs="unbounded" name="LinkSet" type="tns:LinkSetType" />
      </s:sequence>
    </s:complexType>
  </s:element>
  <s:complexType name="eLinkResultType">
    <s:sequence>
      <s:element minOccurs="0" ref="tns:ERROR" />
      <s:element minOccurs="0" maxOccurs="unbounded" name="LinkSet" type="tns:LinkSetType" />
    </s:sequence>
  </s:complexType>
  <s:element name="eLinkResultMS">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" name="eLinkResult" type="tns:eLinkResultType" />
      </s:sequence>
    </s:complexType>
  </s:element>
  <s:element name="eLinkRequest">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" name="db" type="s:string" />
        <s:element minOccurs="0" maxOccurs="unbounded" name="id" type="s:string" />
        <s:element minOccurs="0" name="reldate" type="s:string" />
        <s:element minOccurs="0" name="mindate" type="s:string" />
        <s:element minOccurs="0" name="maxdate" type="s:string" />
        <s:element minOccurs="0" name="datetype" type="s:string" />
        <s:element minOccurs="0" name="term" type="s:string" />
        <s:element minOccurs="0" name="dbfrom" type="s:string" />
        <s:element minOccurs="0" name="WebEnv" type="s:string" />
        <s:element minOccurs="0" name="query_key" type="s:string" />
        <s:element minOccurs="0" name="cmd" type="s:string" />
        <s:element minOccurs="0" name="tool" type="s:string" />
        <s:element minOccurs="0" name="email" type="s:string" />
      </s:sequence>
    </s:complexType>
  </s:element>
  <s:element name="eLinkRequestMS">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" name="db" type="s:string" />
        <s:element minOccurs="0" maxOccurs="unbounded" name="id" type="s:string" />
        <s:element minOccurs="0" name="reldate" type="s:string" />
        <s:element minOccurs="0" name="mindate" type="s:string" />
        <s:element minOccurs="0" name="maxdate" type="s:string" />
        <s:element minOccurs="0" name="datetype" type="s:string" />
        <s:element minOccurs="0" name="term" type="s:string" />
        <s:element minOccurs="0" name="dbfrom" type="s:string" />
        <s:element minOccurs="0" name="WebEnv" type="s:string" />
        <s:element minOccurs="0" name="query_key" type="s:string" />
        <s:element minOccurs="0" name="cmd" type="s:string" />
        <s:element minOccurs="0" name="tool" type="s:string" />
        <s:element minOccurs="0" name="email" type="s:string" />
      </s:sequence>
    </s:complexType>
  </s:element>
</s:schema>